Repository navigation
Module authors have direct development and validation procedures - #565
Open
Marius Storhaug (MariusStorhaug) wants to merge 6 commits into
Open
Marius Storhaug (MariusStorhaug) wants to merge 6 commits into
Marius Storhaug (MariusStorhaug) wants to merge 6 commits into
Conversation
9 tasks done
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
Contributor
There was a problem hiding this comment.
🟢 Approved
No active review issues were identified for the documentation updates clarifying module-author procedures.
No open issues 🎉
What changed in this PR
Clarifies module-author procedures across three Process-PSModule guides. The changes update documentation only; they introduce no runtime behavior or workflow migration.
Changes:
- Rewrites bootstrap instructions as direct steps while preserving the branch and release contract.
- Clarifies per-file framework-test exceptions and how to document their reasons.
- Simplifies module-test guidance and corrects the referenced Invoke-Pester action version to v5.1.1.
| File | Description |
|---|---|
docs/content/guides/writing-module-tests.md |
Clarifies test discovery, setup, teardown, shared resources, and supported Pester controls. |
docs/content/guides/skipping-framework-tests.md |
Makes skip instructions and exception guidance more direct. |
docs/content/get-started/module-bootstrap.md |
Clarifies core scope, integration-branch steps, and initial-release procedures. |
Review effort: Balanced
Marius Storhaug (MariusStorhaug)
dismissed
Copilot’s stale review
via
November 4, 2026 12:34
6744ca2
5 tasks
This was referenced Nov 4, 2026
Open
Marius Storhaug (MariusStorhaug)
marked this pull request as ready for review
November 4, 2026 14:43
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Module authors get direct, evergreen procedures for bootstrap, coordinated development, framework-test exceptions, validation, module tests, and plugin-skill authoring. Descriptions state supported facts; procedures use active instructions and explicit conditions.
This change revises guidance only. It requires no module, workflow, configuration, or dependency migration. Executable examples and runtime/version constraints remain unchanged.
Changed: Module guides state direct procedures and supported facts
The six guides replace conversational, vague, and future-delivery wording with present-state descriptions and verifiable actions. The test guide names the v5.1.1 action contract that the workflow uses and states its unsupported optional-control limitation without a future implementation promise. Its Pester declaration keeps the exact minimum and maximum from the existing code block, without the misleading
6.1.xprose label.The bootstrap version-policy conflict and OS-qualified shared-resource example conflict remain explicit follow-ups. This prose delivery does not choose a new version policy or change executable examples.
Technical details
Source comparison and delivery. Base
64ffb1d87f86bd5d487891fdb140b78385a00531; final pushed headd33a7e1773f9bde2527ae94fea7a8ed2c22a4acf. Six small commits are pushed. This draft opened immediately after the first coherent commit,5f5062cca628831bc4f3de8864c84bb2759ed6f7. It stays in draft by request. No merge, auto-merge, Agent merge, or additional child session is used.Manual review and before/after evidence. Every assigned file is read in full before edits and in the final review, including unchanged passages and examples. All six files change; no assigned guide is omitted or given an unverified no-change result.
docs/content/get-started/module-bootstrap.mdv1.0.0)".docs/content/guides/module-development-orchestration.mddocs/content/guides/skipping-framework-tests.mddocs/content/guides/validating-before-review.mddocs/content/guides/writing-module-tests.md6.1.xlabel for a broader declarationdocs/content/guides/writing-plugin-skills.mdMeaning and protected content. The immutable source comparison verifies 10 byte-identical fenced examples, 54 headings unchanged except sentence case, and all 85 distinct per-file inline technical tokens retained. Manual comparison preserves public inputs/defaults, paths, framework-test IDs, warning semantics, discovery precedence, bootstrap rules, caller-provided
TestData, and normative requirement strength. No normative requirement is presented as proof of CI enforcement. No link repair requires another owner's file.Writing sources. The fixed writing baseline is
MSXOrg/docs@1b0d4893c8fefabe604d04393068a8ff6f848082: Natural Language, Writing Guide, Markdown, Documentation, Documentation Model, and the guide template.The review also uses the STEMG description, STEMG FAQ, and ASD-STE100 Issue 9, including relevant writing rules and dictionary entries. The reference PDF and extraction stay local; the verified PDF MD5 is
9c720341c350ed77943b2c73d01c716f. No required writing source is unavailable. Automated checks do not prove full STE conformance.module-bootstrap.mdmodule-development-orchestration.mdskipping-framework-tests.mdFunctionCountskip handling and warning outputvalidating-before-review.mdwriting-module-tests.mdwriting-plugin-skills.mdRead-only inspections and justified no-change results. Supporting files/sections:
README.md;AGENTS.md;.gitignore;.github/actions/Get-PSModuleSettings/src/main.ps1;.github/actions/Test-PSModule/src/tests/SourceCode/PSModule/PSModule.Tests.ps1;.github/workflows/workflow.yml;.github/workflows/Test-ModuleLocal.yml;.github/workflows/BeforeAll-ModuleLocal.yml;.github/workflows/AfterAll-ModuleLocal.yml;.github/workflows/Docs.yml;.github/workflows/Linter.yml;.github/workflows/Release.yml;.github/linters/.markdown-lint.yml;.github/linters/.textlintrc;.github/plugin/README.md;.github/plugin/psmodule/plugin.json;.github/plugin/marketplace.json;docs/zensical.toml; and the relevant sections ofdocs/content/reference/{versioning,powershell-module-standard,test-specification}.md. They need no edit because this delivery changes guide prose, not their contracts, implementation, native help, tests, metadata, or configuration.The remote Invoke-Pester action contract is read at exact SHA
c5494aba3c07d7bfd81bdbbc9f301e8fa4a729fb. The v5.1.1 tag independently resolves to that commit. Its interface lacksRun.Shuffle,Run.ShuffleSeed,Run.Parallel,Run.ParallelThrottleLimit, andDebug.ShowStartMarkers. Neither workflow action references nor Pester/runtime constraints change.Exclusions. Every other repository path is excluded: other getting-started and guide pages, reference pages, indexes, specifications, dictionary pages, assets/site design, plugin skills/metadata, code, tests/assertions, and configuration. Reserved release/workflow/structure/configuration surfaces remain with #524, #525, #531, #535, #537, #541, #548, and #549. #551 changes no documentation or native help. Live open-PR path ownership is checked before every commit; no other PR owns an assigned path.
Checks on the final head.
git diff --check 64ffb1d87f86bd5d487891fdb140b78385a00531npx --no-install markdownlint-cli2 --config .github\linters\.markdown-lint.ymlwith the six exact assigned pathszensical build --cleanfromdocsrules.terminologythroughTextlintKernel.lintTextPowershellpositive control reports thePowerShellcorrection.git showsource comparisonsConvertFrom-Jsonon plugin and marketplace metadataThe direct terminology CLI is absent; the cache-only attempt confirms missing packages before a session-local restore. Its Windows CLI loader does not load the configured rule. The successful kernel invocation loads the existing Markdown parser and exact
rules.terminologyoptions from.github/linters/.textlintrc, with an active positive control. No repository dependency, linter, or configuration is added. No standalone link-check script exists in this snapshot; the scoped check uses Python's standard library and actual generated HTML. It does not claim exhaustive external-site validation. Generated site output and the temporary checker restore are removed after verification; the worktree is clean and local/remote commit counts are0 0.Hosted status on the final head.
gh pr checks 565 --repo PSModule/Process-PSModule --json name,state,linkreports 22 successful checks, one skipped Publish check, and no pending or failed checks. Copilot approvesd33a7e1773f9bde2527ae94fea7a8ed2c22a4acfwith "No open issues" and no inline comments. Final-head Build, Lint, Lint code base, CodeQL, and Analyze (actions) pass. No new local failure or scope blocker remains. The PR stays in draft for the requested acceptance review; these results do not authorize readiness or merge.Plan and convergence. #559 contains the current Task plan, pre-edit evidence, final acceptance evidence, and check results. Its author-side implementation steps are complete; the issue stays open until the normal review/merge path completes. The scoped sweep examines campaign issue titles and declared paths, plus bootstrap/major, version-policy, and
RUNNER_OSsearches. Only #559 is fully covered. #571 and #573 remain non-closing follow-ups; other campaign issues name excluded surfaces. The docs-only path set does not invoke the release workflow, so no release-decision block orrelease:*label applies.Related references